package com.lib.common.repository.user

import android.content.Context
import com.lib.common.entity.api.resp.UserInfo
import com.lib.framework.helper.SharedPreferencesHelper
import com.lib.framework.utils.GsonUtil


/**
 * Copyright (C), 2020-2020, 享物说
 * FileName: UserInfoSharePreHelper
 * Author: keanbin
 * Date: 2020-02-07 14:45
 * Description: 用户信息 sp存储 辅助类
 * History:
 * <author> <time> <version> <desc>
 * 作者姓名 修改时间 版本号 描述
 */
class UserInfoSharePreHelper(context: Context) : SharedPreferencesHelper(context, FILE_NAME) {

    companion object {

        // 文件名
        private const val FILE_NAME = "user_info_share_pre"

        // 字段名
        private const val FIELD_KEY_USER_INFO = "userInfo" // 用户信息 json格式
    }

    /**
     * 获取 用户信息
     */
    fun getUserInfo(): UserInfo? {
        val jsonStr = getString(FIELD_KEY_USER_INFO, "")
        if (jsonStr.isEmpty()) return null

        return GsonUtil.fromJson(jsonStr, UserInfo::class.java)
    }

    /**
     * 保存 用户信息
     */
    fun saveUserInfo(userInfo: UserInfo) {
        val jsonStr = GsonUtil.toJson(userInfo) ?: return
        if (jsonStr.isEmpty()) return

        putString(FIELD_KEY_USER_INFO, jsonStr)
    }

    /**
     * 清空 用户信息
     */
    fun clearUserInfo() {
        putString(FIELD_KEY_USER_INFO, "")
    }
}